package com.cskaoyan.bean.vo;

import lombok.Data;

/**
 * 基地resp签证官
 *
 * @author stone
 * @date 2022/01/06 16:24
 */
@Data
public class BaseRespVo<T> {
    int errno;
    T data;
    String errmsg;


    /**
     * 修改 设置返回msg为成功
     *
     * @return
     * @author LC_R-SH
     * @since 2022/06/25 21:54
     */
    public static <T> BaseRespVo ok(T data) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg("成功");
        baseRespVo.setData(data);
        return baseRespVo;
    }

    /**
     * 不带data参数的返回
     *
     * @return com.cskaoyan.bean.vo.BaseRespVo
     * @author Can
     * @since 2022/06/26 16:42
     */
    public static BaseRespVo ok() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }

    /**
     * 返回错误信息
     *
     * @param msg 返回信息
     * @return {@link BaseRespVo }
     * @author: jinmo
     * @date: 2022/06/28 10:25:35
     */
    public static BaseRespVo error(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(500);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    /**
     * 返回错误信息（状态码和信息需要自己根据前台定义）
     *
     * @param code
     * @param msg
     * @return com.cskaoyan.bean.vo.BaseRespVo
     * @author: Caspar CXC
     * @since 2022/06/29 14:04
     */
    public static BaseRespVo error(Integer code, String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(code);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }


    public static <T> BaseRespVo invalidData(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(504);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    public static <T> BaseRespVo invalidData() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(504);
        baseRespVo.setErrmsg("更新数据已失效");
        return baseRespVo;
    }

    public static <T> BaseRespVo invalidParameter(String msg) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(400);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    public static <T> BaseRespVo unAuthc() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(502);
        baseRespVo.setErrmsg("认证失败");
        return baseRespVo;
    }

    public static <T> BaseRespVo loginFaild() {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(605);
        baseRespVo.setErrmsg("用户帐号或密码不正确");
        return baseRespVo;
    }

    public static <T> BaseRespVo unAuthc(String message) {
        BaseRespVo baseRespVo = new BaseRespVo();
        baseRespVo.setErrno(502);
        baseRespVo.setErrmsg(message);
        return baseRespVo;
    }

}
